package Day007_Collection_泛型_数据结构.Demo02_Iterator迭代器;

/*
    Collection没有索引,没有get方法,不能遍历

    迭代：即Collection集合元素的通用获取方式。
         在取元素之前先要判断集合中有没有元素，如果有，就把这个元素取出来，继续再判断，如果还有就再取出来。一直把集合中的所有元素全部取出。

         1.获取集合对应的迭代器接口，用来遍历集合中的元素的
                public Iterator iterator()
         2.判断集合是否有元素可以迭代
         3.如果有就取出,没有就结束 (按照存储顺序)

 */

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Test {
    public static void main(String[] args) {

        /*
            1. 获取迭代器: public Iterator iterator()
            2. 判断: public boolean hasNext() :如果仍有元素可以迭代，则返回 true。
                    public E next() :取出可以迭代的元素。
         */

        //创建集合
        Collection<String> coll = new ArrayList<>(); //多态  编译看父类,coll父类没有索引,没有索引对象方法
        coll.add("范冰冰");
        coll.add("李冰冰");
        coll.add("赵薇");
        coll.add("林心如");
        //迭代
        //获取迭代器接口
        Iterator<String> it = coll.iterator();
        //判断
        // if (it.hasNext()){
        //    String s = it.next();
        //    System.out.println(s); //范冰冰
        // }
        //循环
        while(it.hasNext()){
            String s = it.next();
            System.out.print(s + " "); //范冰冰 李冰冰 赵薇 林心如
        }

    }
}
